home *** CD-ROM | disk | FTP | other *** search
Text File | 1986-04-05 | 49.3 KB | 1,198 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAX
-
- REFERENCE MANUAL
-
- PRELIMINARY VERSION
-
- Ivo Welch
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- NEW YORK, SCHWEINFURT
-
- 8 April 1985
-
-
-
-
-
-
-
-
-
-
- Copyright (C) 1985 I. Welch
-
- 1. An Example
- Here is an example how to use MAX. It is only at this point in the
- documentation, so that you can satisfy your initial curiousity and
- play-drive. If you are not yet burning to try out everything, but you
- would rather learn something while playing, run the Tutorial ( see
- section TUTORIAL. ) instead. Do not be disturbed if you don't
- understand everything that is going on. Just follow the instructions
- and look at the action on the screen.
-
- You type everything that is in bold-face. Explanations are provided
- in Italics. CTL-F means: hold down the CTRL key and press
- simultaneously the F key; ESC-F means: first press the ESC key, then
- press the F key.
-
- You start this example by typing MAX \MAX\DOC\MAX.HLP at the DOS
- prompt.
-
- A>MAX \MAX\DOC\MAX.HLP
-
- You have just asked MAX to edit its own HELP file ( which can be in
- the connected or in the \max\doc directory ). You will not only see
- normal characters, but a few control-characters interspersed in your
- file, recognizable by a light ^ followed by another character.
-
- CTL-F CTL-F CTL-F
-
- Now the cursor has moved three characters to the right
-
- CTL-B CTL-B
-
- And it has moved back two characters
-
- CTL-P
-
- You have just made a mistake, trying to retreat a line when the
- cursor was already on the first line. MAX has detected your error,
- and notifies you with a beep and a message that you can see for a few
- seconds below the modeline.
-
- CTL-N
-
- Now you have advanced one line
-
- CTL-P
-
- Now you can retreat a line, sine you are not on line 1 anymore
-
- CTL-D
-
- You have just deleted a character
-
- CTL-X CTL-B
-
- You have asked MAX to allow you to choose a new buffer ( you want
- to stop changing this document, and start changing another document
- without loosing your changes on the first document ). MAX displays
- you a small menu of available choices
-
- <RETURN>
-
- You prefer to continue editing your original document. A number
- would have chosen a new work place for editing another file.
-
- <CTL-X 2>
-
- You have entered "2 window mode." This allows you to edit your file,
- while looking at another, and switching easily back and forth between
- editing files
-
- <CTL-X 1>
-
- But you are not too interested at this for now. You would rather get
- some help. Hold all of the following three keys: <SHIFT <CTRL> and
- Underline "_">
-
- CTL-_
-
- You are now looking at the help menu. If you want, hit "1" to get
- menu item 1. Then you want to get out of the HELP menu, so you type
- the universal abort character...
-
- CTL-G
-
- You are tired and decide to stop this for the time being, so you
- decide to exit
-
- CTL-X CTL-Z CTL-Y
-
- Now you have seen how to interact with this strange computer
- program. Your curiosity will now have to be satisfied now by learning
- systematically useful commands.
-
-
-
- 1. How to get started
-
- 1.1. Backing up the Diskette
- You can back up MAX just like you would back up any other diskette:
-
- Run the program named DISKCOPY from your DOS diskette, then insert
- MAX into one drive and a blank diskette into the other, and tell
- DISKCOPY that you wish to copy from MAX's drive to the blank
- diskette's drive. Make sure to always keep a backup copy of MAX in a
- safe place for your own rotection against program errors, your errors,
- or simply magnetic media wearout.
-
- 1.2. The Use of this Manual
- This manual serves not only two programs, but also two purposes.
- Purpose One is to tell you how to go about learning how to use all
- these new things: the editor, the manual, the documentation etc.
- Purpose Two is to serve you as a reference manual, to allow you to
- explore new commands and to look up forgotten commands.
-
- Hence, you will find a logical gap in this manual. You should
- overcome it by playing and experimenting with MAX on-line. A built-in
- help facility should help you to overcome problems on-line.
-
- As a final note, if you have acess to EMACS (MIT), or any EMACS
- clone (like Epsilon [trademark of Lugaro Software] or MINCE [trademark
- of Mark of the Unicorn]), you may also find many valuable hints how to
- use EMACS-style editors in general.
-
-
-
- 2. Learning how to use the Editor
-
- 2.1. The Keyboard
- MAX's allows you to use two different kinds of inputs:
- Menu/Functionkey Input, and Direct Sequences Input.
-
-
-
- 2.1.1. Menus and Functionkeys
- Menu-style has the advantage of being trivial to learn and trivial
- to use, but it depends heavily on the computer that you are using -
- and on MAX itself. Other EMACS-like editors will not have this menu
- system. Furthermore, menus force you to go through several menu's even
- if you already know what you want to do. Therefore it usually takes
- more time to edit with menus than with control-functions.
-
- MAX uses IBM's non-alphanumeric keys to allow you to input commands.
- Some of the keys, like Home or Arrows always do what you would expect
- them to do, namely moving the cursor to another location. Try these
- keys ( they are on the numeric keypad ).
-
- The functionkeys on the left side of the main keyboard can change
- meaning. The last line on the screen displays the actual function of
- the functionkeys at any moment, and a brief description of which menu
- is currently active. You can switch from one menu to another by
- hitting the appropriate functionkey. A new menu will appear prompting
- you for different options. F10 in the original menu will turn off the
- last line (but still allow you to see the name of the menu). Using
- menus is so trivial, that talking about it will only add complications
- - try them out.
-
-
-
- 2.1.2. Keystroke Sequence Input
- Control-style has the advantage that once you know one EMACS clone,
- you can use all others. You will also be able to work faster, since
- you command the editor directly, and don't have to go through many
- menus over and over again. I strongly recommend learning and using
- this method.
-
- Every function that your editor can perform for you corrosponds to a
- specific keystroke sequence. You will have to memorize them, which
- may give you some initial problems. Some of the commands have
- "mnemonic" keystroke sequences: they shall remind you of what they
- actually do. For instance, CTL-F moves the cursor Forward, CTL-B
- moves it Backwards. Unfortunately, since EMACS has grown slowly over
- time, many keystroke sequences are just convention, and bear no
- relationship to their actual meaning.
-
- There are essentially two types of keystroke sequences: Control and
- Escape Sequences. The main difference is that control sequences
- require you to hold down the control key and at the same time pressing
- another key ( denotated as CTL-*, where * is the name of the other key
- ), while Escape Sequences require you to first press <ESCAPE> and
- after that another key ( denotated as ESC-* ).
-
- You can look up the keystroke sequence of any function, or the
- function of any keystroke sequence either on-line in your editor's
- help menu, or in this manual.
-
- 2.2. HELP and QUIT
- There are two functions that you should always remember:
-
- CTL-_, that is holding down simultaneously <SHIFT>, <CTRL> and
- <UNDERLINE> ( _ ), will enter the HELP menu. Here you can choose what
- you need to know.
-
- CTL-G will quit whatever you are doing and whereever you are. It
- will return you to the basic editing mode ( from which you can of
- course get help, exit etc ).
-
- Always remember these special functions !
-
- 2.3. The Tutorial
- The time has come to start the tutorial. Type A>MAX TUTORIAL.HLP,
- carefully read every page, and follow the instructions.
-
- If you get confused, or you think you have done something wrong,
- type CTL-X CTL-Z CTL-Y and start all over again.
-
- Once you have finished with the tutorial, you should be able to use
- MAX without any problems for your most basic needs. Work with the
- commands you know at this point for about a week (until you remember
- the basic keystroke sequences without looking at any reference
- anymore).
-
- Once you know all the basic functions by heart, strive through this
- manual, try out new commands, and see what they do. Preferably do this
- only on files that you don't really need, since playing with unknown
- commands gives you a good chance of erasing or modifying work
- accidentally.
-
-
-
- 3. MAX Command Reference
-
- 3.1. Modes
-
-
-
- 3.1.1. Subject Modes
-
-
- 3.1.1.1. TEXT Mode
- This is the default mode. All Text Mode means is that TAB stops are
- set every 8 characters, and that hitting TAB will simply place you at
- the next such stop.
-
-
- 3.1.1.2. Wrap Mode
- Wrap Mode can be toggled with ESC-X W. When you are in Wrap mode,
- and you press <CR>, starting a new line, MAX will automatically fill
- the paragraph for you. This is useful when you want to type a lot of
- text without even looking at the screen, and worrying about hitting
- <CR> at the right time. When you finish your paragraph, you just type
- one <CR>, and MAX will put in all the necessary line-breaks in the
- previous paragraph.
-
-
- 3.1.1.3. Planned or Possible Modes
- There are presently no other modes available. FORTRAN, BASIC, PASCAL
- and SCRIPT mode are in planning stage, other modes may follow as well.
- Hitting <TAB> in any of these modes will indent automatically, i.e.
- MAX will move your cursor where your language dictates it should be.
-
-
-
- 3.1.2. Function Modes
-
-
- 3.1.2.1. Auto Save Mode
- Auto Save Mode will save your work after every 400 typed characters.
- It is not yet implemented.
-
-
- 3.1.2.2. Insert v Overstrike Mode
- Insert Mode is the default mode. New characters will be inserted at
- the cursor position; everything behind the cursor position will be
- shifted to the right. Similarly, hitting a <CR> will insert a new
- line, and shift all other lines down. Insert Mode allows quicker
- editing than Overstrike mode, but requires a (short) time to get used
- to.
-
- Overstrike Mode works like an ordinary typewriter. New characters
- will replace ( overstrike ) the old characters. The advantage is that
- typists who are only used to typewriters, will already know how to use
- it. Overstrike Mode is not yet implemented.
-
-
- 3.1.2.3. Keep Mode
- Keep Mode will force MAX to remember what you were editing when you
- exit. When you reenter MAX, MAX will look up what it was editing
- before, re-visit these files, and position the cursor where it was
- before. This can be quite useful if you are working on a big project,
- changing one little part, recompiling, changing again, and so on. Keep
- Mode is not yet implemented.
-
- 3.2. Explanation of Commands by Subject
-
-
-
- 3.2.1. Using the Built-In Menu
- Please refer to the section on keyboard usage.
-
-
-
- 3.2.2. Getting HELP
-
- CTL-_ will enter the built-in on-line HELP menu. A number
- (not a function key!) will select another node,
- delete will retreat to the last node, <ESCAPE>,
- <SPACE> or <CTL-G> will abort the HELP menu, and
- return to your work. If CTL-_ doesn't work, try CTL-G
- CTL-_. If this doesn't work, start praying.
-
-
-
- 3.2.3. Aborting with QUIT
-
- CTL-G will abort any function and return you to the main
- editing mode. You can then ask for help, exit the
- editor, etc.
-
-
-
- 3.2.4. Moving the cursor
- MAX offers cursor movements by character, line, word, sentence,
- paragraph, page, screen and file.
-
- Character CTL-F
- will advance the cursor to the next character
- (Forward). If you are at the end of a line, the
- cursor will move to the start of the next line. If you
- are at the end of the file, CTL-F will cause an error.
-
- CTL-B
- will retreat by one character (Backward). If you are
- at the start of a line,the cursor will move to the
- last character of the previous line. If you are at the
- start of the file, CTL-B will cause an error.
-
- Line CTL-N
- will move the cursor to the next line (Down). MAX
- will to move the cursor to the same column. If the
- next line is shorter than the old line, MAX will place
- the cursor at the end of this line. If you type
- directly afterwards another CTL-N ( or CTL-P ), MAX
- will try to move to the original column (where your
- first CTL-N or CTL-P started). If you don't
- understand this, move the cursor to the end of the
- second-longest line in your text, and type a few
- CTL-N.
- Typing CTL-N on the last line generates an error.
-
- CTL-P
- will move the cursor to the previous line (Up). Like
- CTL-N, MAX will go to the same column on the next
- line, or any line thereafter. Typing CTL-P on the
- first line will generate an error.
-
- Word ESC-B
- will move the cursor to the start of the previous
- word. A word starts after a <SPACE>, or on a new line,
- with a non-<SPACE> character. ESC-B on the first word
- of the file generates an error.
-
- ESC-F
- will move the cursor to the start of the next word1.
- ESC-F on the last word of a file is illegal.
-
- Paragraph ESC-]
- will move the cursor to the start of the next
- paragraph. A paragraph is text that begins after an
- empty line. ESC-[ in the first paragraph will
- generate an error. NOT IMPLEMENTED: USE CTL-R CTL-Q
- CTL-M CTL-Q.
-
- ESC-[
- will move the cursor to the start of the previous
- paragraph. ESC-[ at the last paragraph will generate
- an error. NOT IMPLEMENTED: USE CTL-S CTL-Q CTL-M
- CTL-Q CTL-J.
-
- Page CTL-X ]
- will move the cursor to the previous ^L in the text.
- NOT IMPLEMENTED: USE CTL-R CTL-Q CTL-L.
-
- CTL-X [
- will move the cursor to the next ^L in the text. NOT
- IMPLEMENTED: USE CTL-S CTL-Q CTL-L.
-
- Screen CTL-V
- will move the cursor to the start of the next screen,
- and update to a new screen. If you are less than a
- screenful away from the end of the file, ESC-V will
- generate an error.
-
- ESC-V
- will move the cursor to the start of the previous
- screen, and update to a new screen. If you are less
- than a screenful away from the start of the file, a
- warning message will be displayed.
-
- File ESC->
- will move the cursor to the end of your file.
-
- ESC-<
- will move the cursor to the start of your file.
-
- CTL-L
- will redraw the screen with a centered cursor. An
- argument to CTL-L allows to specify on which screen
- line the cursor should appear on. CTL-L does not
- really move the cursor, but it allows you to see it
- from a "different angle."
-
- Others CTL-X CTL-X
- will exchange cursor and mark. The cursor will be
- moved to the position where your mark was, the mark
- will be moved to the old cursor position. This comes
- in very handy to check the boundaries of your region.
-
-
-
- 3.2.5. Deleting, Killing, Moving Text
- There are two different ways of erasing text. Deleting will simply
- throw away text. Killing will save the erased text in the Yank-Back
- Buffer , and allow you to put it back into your file at any location.
- In MAX, killing allows you to delete, move or copy lines, words, or
- even blocks of text. The idea is always the same: you kill some of
- your text, and yank it back elsewhere. To erase text, simply do not
- use CTL-Y; to move text, go to the place where you want to move your
- text to, and use CTL-Y; to copy text to new location(s), do CTL-Y
- directly after your CTL-K to place the killed text back to its
- original place. Now you have a copy of the text to copy in your
- yankback buffer. Move your cursor to the new location(s), and type
- CTL-Y again. Voi-la.
-
- Since there is only one yank-back buffer, be careful with new
- killing. Doing another kill will probably erase your previous
- yank-back buffer, loosing whatever you killed before. There will be no
- way to regain the old killed text. In some future version, there
- might be more than one buffer, but for the time being you will have to
- live with one.
-
- CTL-D will delete the character at the cursor position. It
- can also be used to delete empty lines, or to merge
- two consecutive lines. CTL-D is illegal at the end of
- the file.
-
- CTL-H (Backspace) will rubout the last character, i.e. the
- character directly before the cursor position. This
- is useful for correcting text "on the run," like
- typos. CTL-H is essentially the same as CTL-B CTL-D.
- <BACKSPACE>, as CTL-H is often called, on the start of
- the file is illegal. Note that CTL-H assumes the
- function of EMACS' <DEL>.
-
- All of the following functions will kill text, i.e. place the erased
- text into the yankback buffer.
-
- ESC-D will kill the word to the right. ESC-D at the end of
- the file is illegal.
-
- ESC-BS will kill the word to the left. ESC-BS at the start
- of the file is illegal.
-
- CTL-W will kill the region. The region is defined
- dynamically as all text between the cursor and the
- mark. (Marks can be set with CTL-@.) Region
- commands are used to delete, move or copy entire
- blocks of text. It is recommended that you use CTL-X
- CTL-X to check the static boundaries of your region
- before actually using CTL-W. This is because both
- mark and cursor change continuously during your
- editing session while you insert or delete text.
-
- CTL-K will kill everything from the cursor to the end of the
- line. If you are on an empty line, the line will be
- closed. CTL-K is the most widely used command to
- quickly kill or move text. CTL-K is exceptional in
- so far, as directly consecutive (and only directly
- consecutive) CTL-Ks do not replace the text in the
- yank-back buffer, but add to it.
-
- ESC-K allows adding text via CTL-K to the yank buffer after
- you have issued some commands other than CTL-K ( which
- usually means your yank-back buffer is closed ).
-
- CTL-Y will yank back the last killed object at the cursor
- position. You can yank-back the same object a few
- times, creating multiple copies of text at multiple
- places.
-
-
-
- 3.2.6. Searching and/or Replacing Text
- MAX's search is incremental, i.e. text is already searched while
- you are entering your search string or commands. Among the commands
- are the options to search for control-characters, to reverse the
- search direction, or to include a wildcard character. The search is
- always not case-sensitive !
-
- CTL-S will search for a string while you enter it.
-
- CTL-R will search backward ( reverse ).
-
- Subcommands CTL-Q
- will quote a character. This allows searching for
- control characters in your text ( e.g. CTL-Q CTL-L
- will look for a ^L in your document ).
-
- CTL-G
- will abort the search (NOT IMPLEMENTED: and place
- your cursor where you started your search ).
-
- CTL-S
- If you are searching in reverse direction, a CTL-S
- will change the search direction. If you just started
- a search with CTL-S, another CTL-S will search for
- nother occurance of the same string.
-
- CTL-R
- Analogous to CTL-S, but reverse.
-
- CTL-J
- will match any character ( wildcard ). For
- instance, CTL-S A CTL-J B will find AAB, ABB, ACB,
- etc.
-
- Other commands will abort the search, and interprete
- the command as a normal MAX command. A good way to
- end a search is CTL-L, which will abort the search and
- simply redraw the screen.
-
- ESC-X S
- "Search and Replace" will search for all occurences
- of string 1 after the cursor position, and replace it
- with string 2. Note that string 1 is not
- case-sensitive, so all occurances of string 1, no
- matter whether in lower or uppercase, will be
- replaced. ESC-X S will first prompt you for string 1,
- which may contain CTL-Js ( the wildcard character ).
- Then it will prompt you for string 2. This command
- may take some time, so please be patient.
-
- ESC-X Q
- "Query Search and Replace," similar to "Search and
- Replace," but asks for confirmation at each occurrence
- of string 1. Hitting <SPACE> will substitute string
- 2, <DEL> will skip the substitution, and CTL-G will
- abort.
-
-
-
- 3.2.7. Using Macros
- Macros are a powerful way to customize your editor, and to avoid
- entering common keystroke sequences repeatedly.
- CTL-X ( will start the macro definition. Every character you
- type hereafter will be recorded until you stop the
- definition, or cause an error, or overflow the
- macro-buffer ( 255 characters ). Note that DEF
- appears on the modeline, reminding you that you are
- defining a macro.
-
- CTL-X ) will stop the macro definition. The DEF on the
- modeline will disappear, and you can now invoke your
- macro.
-
- CTL-X E will invoke the macro. Every character that you typed
- during the definition will be "played back," just as
- if you typed it. When MAX detects an error, it will
- automatically stop the macroinvocation. For instance,
- if you are at the second to last character in the
- file, and your macro does CTL-K CTL-D HELLO, MAX would
- detect an error executing CTL-D, and abort the macro,
- never actually inserting HELLO.
-
- A powerful feature of MAX are arguments to macros.
- For example, you could give simulate search and
- replace by defining a macro that will search for a
- string, then rubout the string, and insert another.
- Finally you could invoke this macro with CTL-50000
- CTL-X E. MAX replaces until there are no more
- occurrences, or until it reaches 50,000 replacements.
- Some macro invocations can take quite long. CTL-G
- will interrupt macroexecutions.
-
-
-
- 3.2.8. Using Buffers and Windows
- MAX allows you to edit several files, or multiple copies of the same
- file during one session without exiting or saving to disk.
-
- Each buffer holds one file (maximum 64K), just like a pad may have
- several @Faecher. Only one buffer can be active at a time, i.e. you
- can only edit the currently active buffer ( just like you can only
- open one page in your pad ). A good example for using buffers would be
- writing a letter in one document, and the envelope in another.
-
- There is basically only one operation with buffers, namely switching
- to it. The new buffer will be selected (becomes active), the
- previously active buffer becomes passive.
-
- CTL-X B will display a menu of available buffers, and prompt
- you for the new buffer. MAX expects a number within
- the range of available buffers, and will activate this
- buffer. CTL-G aborts the selection.
-
- CTL-X CTL-B will switch to the buffer that was active immediately
- before the currently active buffer. It is a
- convenient way to quickly toggle between two buffers.
-
- Each buffer can hold a file with up to 64KB of text. When you
- start MAX, MAX will load buffers with their default files, and
- activate buffer 1. Presently, WORK.TXT is default in buffer 1 and 2;
- other buffers do not load default files.
-
- A window is the place on the screen that your buffer is displayed
- on. Sometimes it is convenient to see one buffer, while really
- working on another. This is called split editing. Think of a window as
- reminders in a pad that allow you to really see two @Faecher (buffers)
- at the same time. You can have two windows, each of which can hold its
- own index[Buffers], or the same buffer. You can arrange them as
- follows:
-
- /-------------\ /-------------\ /-------------\
- | | | | | Window 1 |
- | Window 1 | | Window 2 | |---------------|
- | | | | | Window 2 |
- \-------------/ \-------------/ \-------------/
-
-
- Apparently you could also toggle buffers to achieve the same result
- as the two first figures. The real interesting gain from buffers is
- sketched in figure three: Your cursor is in one of those windows, and
- editing just as normal, but uses only half the screen. The other
- window remains statically unchanged, allowing you to look at it.
-
- You want to be able to switch the cursor from one window to the
- other, to split up the screen into two windows, and to go back to
- one-window mode.
-
- CTL-X 1 will toggle the number of windows concurrently on the
- screen ( one or two ).
-
- CTL-X 2 identical with CTL-X 1.
-
- CTL-X O will toggle active and passive window. The cursor will
- move into the new active window. If this window is
- not on the screen, the previous window will disappear
- and the new window will overlay the old window.
-
-
-
- 3.2.9. Saving, Loading and Exiting
-
- CTL-X CTL-S saves the contents of the active index[Buffers] under
- its old name to disk, and marks the buffer
- "unmodified." An unmodified buffer does not display a
- "*" ("dirty") as the first character on the modeline.
-
- CTL-X CTL-W allows the contents of the active index[Buffers] to be
- written to a new file on disk, thus preserving the
- contents of the old file. The new name becomes the
- default for all further CTL-X CTL-S. CTL-X CTL-W will
- prompt you for the new filename ( Escape recognition
- will work! ).
-
- CTL-X CTL-V will visit a file from disk in the current buffer. It
- will prompt you for the name of a file. If no such
- file exists, only the name is noted ( for further
- CTL-X CTL-S ). In this case, a "[NEW FILE]" message
- will appear on the screen. If the file exists, you
- can attempt to use <ESC> to complete unique filenames,
- but only if these files are in the currently connected
- directory. If there is more than one file available
- to match the input up to this point, a beep will
- sound. If there is no such file at all, CTL-X CTL-V
- will abort. If only one such file exists, the rest of
- the name will be filled in at the promptline. You can
- now press <RETURN> to load this file. CTL-X CTL-V
- will return an error if the file is longer than 63K (
- which virtually no normally used file will exceed.
- Longer applications are usually realized with separate
- compilations or similar facilities. The 64K limit is
- enforced to use the 8088s' power to the largest
- possible extent ).
-
- CTL-X CTL-Z will exit to DOS after additional confirmation ( CTL-Y
- ).
-
-
-
- 3.2.10. Using other built-in functions
- Following is a listing of commands which have not yet been
- discussed, some of which can not be found in the standard DEC-20 EMACS
- implementation.
-
- CTL-X D will prompt for a directory mask, and display the DOS
- directory of files on the disk.
-
- CTL-Z will scroll the screen up by one line.
-
- ESC-Z will scroll down the screen by one line. This and the
- above function can be conveniently accessed by
- CTL-PgUP and CTL-PgDn.
-
- ESC-Q will fill the paragraph, which means it will break all
- lines in the current paragraph which are longer than
- the fillcolumn, s.t. they are as long as permitted.
- Lines that are short enough to hold more words are
- merged with the next line. Words will never be broken
- up.
-
- CTL-X F allows setting the fill column using an argument.
- ESC-70 CTL-X F will set the maximum length of a line
- on a fill to 70.
-
- ESC-U will uppercase the previous word ( i.e. convert all
- its characters to uppercase ).
-
- ESC-C will capitalize the previous work ( i.e. convert the
- first letter to uppercase, and all others to lowercase
- ).
-
- Arguments Most functions accept arguments. An argument usually
- means that a command is repeated n times. To give an
- argument, use <ESC>-n or CTL-U n ( the two are
- equivalent ) where n is a number, and then simply
- issue the command. For example, CTL-U 10 CTL-N will
- move down 10 lines.
-
- Some functions interpret arguments differently. Two
- commands come to mind: CTL-L, CTL-Q and CTL-X F. An
- argument to CTL-L will center the cursor on line n on
- the screen; an argument to CTL-Q will allow you to
- insert n controlcharacters without typing CTL-q in
- front of each; an argument to CTL-X F will set the
- fillcolumn.
-
- CTL-X CTL-_ will create a cross-reference of a valid help-file
- which is in the active buffer , and dump it into the
- previous buffer. Please note that MAX will crash if
- you attempt to run this function without a valid
- help-file ! In particular, make sure that nodenames
- are properly terminated.
-
-
-
- 3.2.11. Explanation of Commands by Keystroke
- Please refer to the index.
-
- 3.3. Some Differrences of MAX and EMACS
-
- Default Files: On startup, MAX will attempt to load the first two
- files which are specified at the DOS command line into
- buffers #1 and #2. If no file was specified, MAX will
- load the file WORK.TXT into the first two buffers .
- Buffers #3 to #7 will always be initialized to ( but
- not loaded with ) the filename FOO.BAR.
-
- Messages: After loading, MAX will display the number of buffers,
- the space free for holding killed text,(The number of
- buffers and the free space for killed text is
- determined by all free memory above the program) and a
- message indicating whether it could load a file. Note
- that for two new files in buffers 1 and 2 you should
- get two [NEW FILE] messages. Loading one file into
- one buffer , but none into the other will still give
- you one initial [NEW FILE] message.
-
- Mark: On startup, MAX will set the mark on the first
- character of the file.
-
- Exit: Since forks are not kept ( or in UNIX terms: "pids
- are not stopped" ), MAX asks for confirmation (CTL-Y)
- before exiting to DOS.
-
- Escape Recognition:
- Hitting <ESC> when MAX prompts you for a filename will
- force MAX to attempt completing it. Note that this can
- only be done if the filename is unique, and never for
- a directory-name !
-
- Find File: Find File is unfortunately not yet implemented.
-
- Buffer Space: Buffer Space is restricted to 64K.
-
- Buffer Switching:
- CTL-X B will prompt a menu of available buffers, and
- allow you to choose one by typing a number. CTL-X
- CTL-B will switch previous and current buffer in the
- current window.
-
- Windows: Only two windows are permitted. C-X 1 or CTL-X 2
- toggles windows.
-
- Lastline: MAX offers both EMACS-like commands and menu-entry.
- The menu system will appear on the bottom of the
- screen. Pressing the key will result in the
- corresponding action being taken. By my convention,
- choices leading to other menus are uppercased, while
- editor commands are lowercased. Modeline:
- The modeline constantly updates date and time.
-
- Messages Messages generally stay on the screen for about 15
- seconds ( unless new messages appear ). Error messages
- are usually in reverse video.
-
-
-
- Help: The help menu is actually a finite state language
- interpreter. The file MAX.HLP ( which must be either
- in the connected directory or in \MAX\DOC ) is
- interpreted as a menu, and action can be taken by the
- user to slide down the graph. Nodes are
- diskaddresses, and therefore one has to carefully
- adjust new diskaddresses after modifying the help menu
- ( use MAX to do so ! ). There is a built-in function
- ( CTL-X CTL-_ ) which will calculate the new
- diskaddresses of all nodes, and report it to the other
- buffer ( but may crash the editor upon syntactically
- invalid help files ). This function makes modifying
- the help menu considerably easier. MAX searches for
- its help file first in the connected directory and
- then in \MAX\DOC. MAX does not expect functionkeys,
- but numbers as choices! DEL will retreat to the
- previous node, ESC, SPACE or CTL-G will abort.
- Please refer to the section on Help in this manual.
-
- Macros: The execution of a macro will not turn off display
- updating. One can see the macro working. The
- advantage is that one can simply stop a macro with a
- long argument at any chosen time using CTL-G. The
- disadvantage is a 2% loss of speed.
-
- Search & Replace:
- Search and Replace is invoked by ESC-X S, Query Search
- and Replace by ESC-X Q. Please refer to the proper
- section of this manual.
-
- Fill: Fill will not take an argument to justify.
-
- Scrolling: CTL-Z and ESC-Z will scroll the display one line up or
- down.
-
-
-
-
- Bugs: Some minor bugs have appeared, none of them fatal.
- Most disappear from the screen immediately after
- simple and obvious corrective action is taken.
-
- MAX, Copyright (C) Ivo Welch, Jan. 1985.
-
-
-
- 4. Advanced Topics
-
- 4.1. How to modify the Editor Help Menu
-
- 4.2. About the Internal Structure of the Editor
-
-
-
- 4.2.1. Easy Customization
- Please look at DEFS.H to modify certain standard definitions (i.e.
- last-line displayed on power up, display used, original macro,
- original file names to be loaded etc.).
-
-
-
- 4.2.2. Major Datastructures
- BCB stands for Buffer Control Block, and is located in the first 256
- bytes of each Buffer. Its definition can be found in DEFS.H. Among the
- more important fields of the BCB is the cursor position, the position
- of the cursor on the screen, the mark, the FCB that allows saving or
- loading the buffer to disk, etc. As an example, to set the cursor to
- the start of the buffer, use the command:
-
- mov DS:BCB.FCursor, 100h
-
- where DS is the 64K segment that holds our buffer, BCB the structure
- definition, and FCursor the address of the cursor in the field.
-
-
-
- 4.2.3. The Function Jump Tables
-
-
-
- 4.2.4. The Screen Definition
- Please fgrep for SCR if you wish to find out points where I have to
- write to the screen.
-
-
-
- 4.2.5. The OS interface
-
-
-
- 4.2.6. Ading a New Function
-
-
- 4.2.6.1. Error Trapping
- If an error should be displayed, DX should be set to the offset of
- an ascii string, CX should contain its length. Control should be
- transferred to .Error0, which will reset stack, macro and other
- pointers to their original state at invocation, display the
- errormessage, and sound a beep.
-
-
-
- Index
-
- "*" (to mark modified buffers) 18
-
- 64K Limit 12, 13, 15
-
- [NEW FILE] 13, 15
-
- Aborting 3, 6, 8, 11, 12, 13, 14, 16
- Arguments 14
- Arguments to CTL-L 9, 14
- Arguments to CTL-X F 14
- Arguments to Macros 12
-
- BACKSPACE 10
- Blocks 10
- Buffer Space Limit 12, 13, 15
- Buffers 2, 12, 14, 15
- Buffers, Number Of Available Buffers 15
- Buffers, Toggling Buffers, see also CTL-X CTL-B 15
- Bugs 16
-
- Capitalizing a Word 14
- Case Sensitivity 11
- Confirmations 11, 14, 15
- Crashes, because of CTL-X CTL-_ 14, 18
- Cross Reference of a Help File 14, 18
- CTL-* 5
- CTL-@ 10
- CTL-B 5
- CTL-F 5
- CTL-_ 3, 6, 8
- CTL-B 2, 8, 10
- CTL-D 2, 10, 12
- CTL-F 2, 8
- CTL-G 3, 6, 8, 11, 12
- CTL-H 10
- CTL-J 11
- CTL-K 10, 12
- CTL-L 9, 11, 14
- CTL-N 2, 8, 12
- CTL-P 2, 8
- CTL-PgDn 14
- CTL-PgUp 14
- CTL-Q 11
- CTL-R 11
- CTL-R CTL-Q CTL-L 9
- CTL-R CTL-Q CTL-M CTL-Q CTL-J 9
- CTL-S 11
- CTL-S CTL-Q CTL-L 9
- CTL-S CTL-Q CTL-M CTL-Q CTL-J 9
- CTL-U 14
- CTL-V 9
- CTL-W 10
- CTL-X ( 11
- CTL-X ) 12
- CTL-X 1 3, 13, 15
- CTL-X 2 2, 13, 15
- CTL-X [ 9
- CTL-X ] 9
- CTL-X B 12, 15
- CTL-X CTL-_ 14, 18
- CTL-X CTL-B 2, 12, 15
- CTL-X CTL-D 14
- CTL-X CTL-F 15
- CTL-X CTL-S 18
- CTL-X CTL-V 13
- CTL-X CTL-W 13
- CTL-X CTL-X 9, 10
- CTL-X CTL-Z 3, 6, 14
- CTL-X D 14
- CTL-X E 12
- CTL-X F 14, 16
- CTL-X O 13
- CTL-Y 3, 6, 10
- CTL-Y as Confirmation 14, 15
- CTL-Z 14, 16
- Cursor Down 8
- Cursor End 9
- Cursor Home 9
- Cursor Left 8
- Cursor Right 8
- Cursor Up 8
-
- Date, displayed on the Modeline 15
- DEF, displayed on the Modeline 12
- Default Directories 18
- Default Files 15
- Defaults 7, 12, 13, 15, 18
- DEL, to "backspace" 10
- DEL, to abort HELP 18
- DEL, to overskip in Query Replace 11
- Directory 14
- Dirty, see "Modified" 13
- Disk, writing to and reading from disk 18
- Diskaddresses, as used in HELP 18
- DOS 2, 14, 15, 18
-
- EMACS 4, 5, 10, 14, 15
- EMACS Clones 4, 5
- Error Messages 2, 12, 15, 17
- ESC, as used in filename completion 15
- ESC, as used in HELP 8, 18
- ESC-* 5
- ESC-< 9
- ESC-> 9
- ESC-[ 9
- ESC-] 9
- ESC-B 8, 9
- ESC-BS 10
- ESC-C 14
- ESC-D 10
- ESC-DEL 10
- ESC-F 2, 9
- ESC-K 10
- ESC-n<umber> 14
- ESC-Q 14, 16
- ESC-U 14
- ESC-V 9
- ESC-X Q 11
- ESC-X Query Search And Replace$ 11
- ESC-X S 11
- ESC-X Search and Replace$ 16
- ESC-X W 7
- ESC-Z 14, 16
- Escape Recognition 13, 15
-
- Filenames 13, 15
- Fill Column 14
- Fill Mode 7
- Fill Paragraph 14, 16
- Find File 15
- Finite State HELP Language 18
-
- HELP 3, 4, 5, 6, 8, 16, 18
- HELP file 14
-
- Indexing a Help File 14
-
- Kill Space 15
- Killing 10
-
- Last Line on Screen 5, 8, 15
- Linebreaking 14
- Literal Mode 14
-
- Macro Buffer 12
- Macros 12, 16
- Mark(ing the Region) 10, 15
- MAX.HLP 18
- MAX\DOC 18
- Memory Usage 15
- Menus 5, 8, 12, 15, 18
- Messages 2, 9, 12, 13, 15, 17
- Modeline 15
- Modified Buffer 18
-
- Numbers, as used to select HELP options 18
-
- Options, as used in Help 18
-
- Paragraph 7, 9, 14
-
- Query Search and Replace 11
- QUIT 3, 6, 8, 11, 12, 13, 14, 16
-
- RAM Usage 15
- Region 10, 15
-
- Saving a Buffer to Disk 18
- Scrolling 14, 16
- Search and Replace 11, 16
- Segment Limits, see also 64K Limit 13
- SPACE, as used in HELP 8, 16, 18
- SPACE, as used in Query Replace 11
-
- Time, displayed on the Modeline 15
-
- Uniqueness of Filenames (for Escape Recognition) 15
- Unmodified Buffer 18
- Uppercase, as used in Menus 15
- Uppercasing a Word 14
-
- Visiting a File 13
-
- Wildcard Character 11
- Windows, Toggling Windows, see also CTL-X 1 or CTL-X 2 15
- WORK.TXT 12, 15
- Writing a Buffer to Disk 13
-
- Yank Buffer 9, 10
-
-
-
- Table of Contents
- 1. An Example 2
-
- 1. How to get started 4
-
- 1.1. Backing up the Diskette 4
- 1.2. The Use of this Manual 4
-
- 2. Learning how to use the Editor 5
-
- 2.1. The Keyboard 5
- 2.1.1. Menus and Functionkeys 5
- 2.1.2. Keystroke Sequence Input 5
- 2.2. HELP and QUIT 6
- 2.3. The Tutorial 6
-
- 3. MAX Command Reference 7
-
- 3.1. Modes 7
- 3.1.1. Subject Modes 7
- 3.1.1.1. TEXT Mode 7
- 3.1.1.2. Wrap Mode 7
- 3.1.1.3. Planned or Possible Modes 7
- 3.1.2. Function Modes 7
- 3.1.2.1. Auto Save Mode 7
- 3.1.2.2. Insert v Overstrike Mode 7
- 3.1.2.3. Keep Mode 7
- 3.2. Explanation of Commands by Subject 8
- 3.2.1. Using the Built-In Menu 8
- 3.2.2. Getting HELP 8
- 3.2.3. Aborting with QUIT 8
- 3.2.4. Moving the cursor 8
- 3.2.5. Deleting, Killing, Moving Text 9
- 3.2.6. Searching and/or Replacing Text 11
- 3.2.7. Using Macros 11
- 3.2.8. Using Buffers and Windows 12
- 3.2.9. Saving, Loading and Exiting 13
- 3.2.10. Using other built-in functions 14
- 3.2.11. Explanation of Commands by Keystroke 14
- 3.3. Some Differrences of MAX and EMACS 15
-
- 4. Advanced Topics 17
-
- 4.1. How to modify the Editor Help Menu 17
- 4.2. About the Internal Structure of the Editor 17
- 4.2.1. Easy Customization 17
- 4.2.2. Major Datastructures 17
- 4.2.3. The Function Jump Tables 17
- 4.2.4. The Screen Definition 17
- 4.2.5. The OS interface 17
- 4.2.6. Ading a New Function 17
- 4.2.6.1. Error Trapping 17
-
- Index i